
# 字典
"""
定义 ： 变量名 = {key:value,key1:value1,...}
特点 ：
    进行增删改查
"""
dct1 = {}
dct2 = {'a':1,'b':2}
print(dct1)
print(dct2)

"""
# 通过索引完成如下操作 ：
    1》获取 ，格式: dict['key']   , 如果key不存在，会报错
    2》更新值 ，格式 ：dict['key'] = 新值 ，这个key在字典存在
    3》赋值 ，格式：dict['key'] = 新值 ，这个key在字典中不存在
"""
print("获取键名为b的值:",dct2['b'])
dct2['a'] = 3
print(dct2)

dct2['c'] = 6
print(dct2)

# 字典中的方法
"""
1. dict.update(dict1)           # 更新字典里的元素到另外一个字典中
2. key in dict                  # 这个键是否在字典中
3. dict.get(key)                # 获取键对应的值 。 若key不存在，返回None 。
4. dict.keys()                  # 获取字典中所有的键，返回的迭代器(可以使用for循环)
5. dict.values()                # 获取字典中所有的值 ，返回的迭代器(可以使用for循环)
6. dict.items()                 # 获取字典中所有的键值对，返回的迭代器(可以使用for循环)
"""
dct3 = {'a':30,'e':12,'f':'hello world'}
dct3.update(dct2)
print(dct3)
print('e' in dct3)
print('g' in dct3)
print("获取dct3中键名为f的值:",dct3.get('f'))

print("获取字典中所有的键名:",dct3.keys())
for x in dct3.keys():
    print(x,end=" ")
print()
for x in dct3.values():
    print(x,end=" ")
print()
for x,y in dct3.items():
    print("键名x:",x,"==========","值y:",y)

"""
# 练习 ： 定义用户数据,每条数据有name, age , city , class ,造5条数据 ，
其中一个名字为'zhangsan' ,如果名字等于张三，打印找到此人。若找不到，给没有找到的提示
"""
user_data = [{'name': 'lisi', 'city': '北京', 'class': '6班', 'age': 34},
             {'name': 'wangwu', 'city': '上海', 'class': '6班', 'age': 34},
             {'name': 'zhangsan', 'city': '广州', 'class': '6班', 'age': 34},
             {'name': 'zhaoliu', 'city': '天津', 'class': '6班', 'age': 34},
             {'name': 'zhaobei', 'city': '南京', 'class': '6班', 'age': 34}]

for vls in user_data:
    if vls.get('name') == 'zhangsan':
        print("找到此人")
        break
    print("无此人")
